/*
Ryan Perry
April 25, 2008
*/

#ifndef DRAWABLEOBJ_H
#define DRAWABLEOBJ_H


#include <string>
#include <vector>
#include <SDL.h>
#include <SDL_image.h>
#include "FrameContainer.h"

/* See definition for further comments. */
class DrawableObj
{
    public:
        DrawableObj();
        void addFrames(int specificAnimation, std::string fileName, int duration), setX(int givenX),
            setY(int givenY), setDoLoop(bool yayORnay), setFrame(unsigned int specifiedFrame),
            setAnimation(unsigned int specificAnimation);
        int getFrame();
        unsigned int getX(), getY();
        SDL_Surface *getCurrentFrame(), *getCurrentFrameStatic();
        ~DrawableObj();

    protected:
        bool loopAnimation;
        int currentFrame, currentFrameVectorSize;
        unsigned int objectX, objectY;
        unsigned long currentFrameDuration;
        std::vector<FrameContainer*>* frameVector;
        std::vector<FrameContainer*> introVector, idleVector;
};

#endif
